package com.cn.wanxi.servlet;

import com.alibaba.fastjson.JSONObject;
import com.cn.wanxi.model.ResultModel;
import com.cn.wanxi.model.UserModel;
import com.cn.wanxi.service.ProductService;
import com.cn.wanxi.service.UserService;
import com.cn.wanxi.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;


@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    //    class LoginAaa{
//
//    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// doget和dogost的区别？
        //1.得到前端传递过来的数据
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String code = req.getParameter("code");
        String sesssionCode = (String) req.getSession().getAttribute("code");
//        2.将数据封装到对象
        UserModel model = new UserModel();
        model.setCode(code);
        model.setPassword(password);
        model.setUsername(username);
        model.setSessionCode(sesssionCode);
//        3.调用逻辑服务层
        UserService userService = new UserServiceImpl();
        ResultModel resultModel = userService.login(model);
        if (resultModel.getMsg().equals("success")) {
            req.getSession().setAttribute("loginName", username);
        }
//        4.返回前端需要的数据
        resp.getWriter().print(JSONObject.toJSONString(resultModel));
    }

    public static void main(String[] args) {
        System.out.println(new ResultModel());
    }

    String aa = "asd\nfghj";
    String bb = "fdas";

    private String getName() {
//        Java 字符串相互比较一般用equals
//        如果是数值  ==
//        Java 用==表示 比较值和地址
//        if(aa.equals(bb))
//Java String 有哪些方法？
//        length;
//        subString
//        replace
//        split
//        toString
//        charAt(2)
//        aa.charAt(2);
//        getBytes
//        equals 比较
//        aa.equals("") 返回Boolean值
//        aa.indexOf("f")
//        aa.endsWith("a");//判断当前字符是否以a结束的字符，
//        aa.lastIndexOf("f");
//aa.toUpperCase();//全部转换位大写
//aa.toLowerCase();//全部转换位小写
        List<String> list = new ArrayList<>();
        System.out.println(aa.indexOf("f"));
        System.out.println(aa.lastIndexOf("f"));
////        匿名内部类
//        ProductService productService=new ProductService() {
//            @Override
//            public void aa() {
//
//            }
//        };
//        面试：list里面的数据类型可以是基本类型或者应用类型或者都可以？
//        不能是基本类型！基本类型强制转换位包装类型
//        Integer
//        List list=new ArrayList<>();
//        int a=1;
//        list.add(a);
//        list.add("aaa");
//        boolean b=true;
//        list.add(b);
        return "aaa";
    }
}
